#ifndef __SODUKU_H__
#define _SODUKU_H__
/// forward declaration for std::string
typedef std::basic_string<char> string;

/// Block matrix
class Soduku
{
public:
  Soduku(int rows, int cols); ///< construct a raw Block matrix
  Soduku(int rows, int cols, const string &infile_name); ///< construct a raw Block matrix and initialize it with an input file
  ~Soduku(); ///< destructor
private:
  int _num_rows; ///< number of rows
  int _num_cols;  ///< number of columns
  Block **_block; ///< _num_rows*_num_cols Block matrix
  void _allocate_mem(); ///< allocate memory for the Block matrix
};
#endif // _SODUKU_H__
